package server;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IAMServer extends Remote {

	/**
	 * Mounts the given volumePath under the given mountPoint with the given fileSystem and
	 * uses the given key and keyfilePath for decryption.
	 *
	 * @param volumePath
	 * @param mountPoint
	 * @param fileSystem
	 * @param key
	 * @param keyfilePath
	 *
	 * @return boolean - success
	 *
	 * @throws RemoteException
	 */
	public boolean mount(String volumePath, String mountPoint, String fileSystem, String key, String keyfilePath) throws RemoteException;

	/**
	 *
	 * @param mountPoint
	 *
	 * @return boolean - success
	 *
	 * @throws RemoteException
	 */
	public boolean unmount(String mountPoint) throws RemoteException;

	/**
	 *
	 * @return String
	 *
	 * @throws RemoteException
	 */
	public String getMountpoints() throws RemoteException;

}
